package com.xd.lib.tool.util;

import android.app.Activity;
import android.widget.TextView;

import java.util.Timer;
import java.util.TimerTask;

/**
 * 特效
 * Created by Administrator on 2015/6/15.
 */
public class EffectUtil {

    /**
     * 闪烁文字
     * @param activity 文字控件所在的窗体
     * @param text 文字控件
     * @param colors 闪烁的颜色ID
     * @param times 闪烁的次数
     */
    public static void sparkText(final Activity activity,final TextView text, final int[] colors, final int times){
        //定时器相关
        TimerTask timerTask = new TimerTask() {
            /**
             * 颜色索引
             */
            int colorIndex = 0;

            /**
             * 闪烁次数
             */
            int sparkTimes = 0;

            @Override
            public void run() {
                //android中对于界面的刷新必须在ui主线程中实现
                //Timer启动了另外一个线程，刷新ui时需要回到主线程中
                activity.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        //闪烁次数
                        if (++sparkTimes > times) {
                            return;
                        }
                        //执行闪烁，改变文本的颜色
                        text.setTextColor(colors[colorIndex]);
                        colorIndex = (colorIndex + 1) % colors.length;
                    }
                });
            }
        };

        Timer timer = new Timer();
        /**
         * task: 任务
         * delay: 开始时间
         * period: 持续时间
         */
        timer.schedule(timerTask, 0, 150);
    }
}
